home *** CD-ROM | disk | FTP | other *** search
- 4000 COLOR 7,0: REM ****************************************************************************************************
- 4005 REM 'BOOKMAIN' SUBROUTINE TO CREATE AND MAINTAIN THE 'ACCOUNTS' FILE
- 4010 REM **************************************************************************************************************
- 4015 GOSUB 290 'OPEN ACCOUNTS FILE
- 4030 GOTO 4855 'DISPLAY CREATION/MAINTENANCE CHOICES
- 4035 REM **************************************************************************************************************
- 4040 REM CREATE 'ACCOUNTS.REC' FILE AND INITIALIZE ALL FIELDS
- 4045 REM **************************************************************************************************************
- 4050 TITLE$ = "OF CREATION RUN"
- 4055 COLOR 7,0: CLS
- 4060 PRINT IN$;" Begin ACCOUNTS.REC File Creation"
- 4065 PRINT IN$;" This program run will destroy any"
- 4070 PRINT IN$;" previously created ACCOUNTS.REC File"
- 4075 PRINT IN$;: COLOR 0,7: PRINT " Are you sure you want to continue?": COLOR 7,0
- 4077 PRINT IN$;: COLOR 0,7: PRINT " Reply Y or N ";SPC(21): BEEP
- 4080 C$ = INKEY$: IF C$ = "" THEN GOTO 4080
- 4081 PRINT C$: COLOR 7,0
- 4082 IF C$ = "Y" OR C$ = "y" THEN GOTO 4085
- 4083 IF C$ = "N" OR C$ = "n" THEN GOTO 280 'RETURN TO MAIN MENU
- 4084 COLOR 31,0: PRINT IN$;" I need a Y or N, try again ";: GOTO 4080
- 4085 FOR REC% = 1 TO (M10% + M11%)
- 4090 GOSUB 4115 'INITIALIZE FIELDS TO ZEROS & BLANKS
- 4095 GOTO 4205
- 4100 REM ----------------------------------------------------------------------------------------------------------
- 4105 REM SUBROUTINE TO INITIALIZE RECORD FIELDS TO ZEROS & BLANKS
- 4110 REM ----------------------------------------------------------------------------------------------------------
- 4115 LSET B1$ = MKI$(0)
- 4120 LSET B2$ = MKI$(REC%)
- 4125 LSET F4$ = CHR$(255)
- 4130 LSET B3$ = SPACE$(4)
- 4135 LSET B4$ = MKI$(0)
- 4140 LSET B5$ = SPACE$(30)
- 4145 LSET B6$ = SPACE$(30)
- 4150 LSET B7$ = MKS$(0)
- 4155 LSET B8$ = SPACE$(8)
- 4160 LSET B9$ = MKD$(0)
- 4165 LSET B10$ = MKI$(0)
- 4170 LSET B11$ = SPACE$(1)
- 4175 LSET B12$ = MKD$(0)
- 4180 LSET B13$ = MKD$(0)
- 4185 LSET B14$ = MKD$(0)
- 4190 LSET B15$ = MKD$(0)
- 4195 RETURN
- 4200 REM --MAKE NEXT-RECORD-NO.-POINTER OF LAST PRIME AREA RECORD POINT OUTSIDE FILE LIMITS------------------------
- 4205 IF REC% = M10% THEN LSET B16$ = MKI$(REC% + M11% + 1) ELSE LSET B16$ = MKI$(REC% + 1)
- 4210 REM -------------------OVERFLOW AREA IS ONLY INITIALIZED ON ACCOUNTS FILE CREATION RUN------------------------
- 4215 IF REC% > M10% THEN GOTO 4640
- 4220 REM ----------------------------------------------------------------------------------------------------------
- 4225 GOSUB 4250 'CREATE NEW ACCOUNT RECORD
- 4230 GOTO 4640 'PUT NEW ACCOUNT RECORD INTO ACCOUNTS.REC FILE
- 4235 REM ----------------------------------------------------------------------------------------------------------
- 4240 REM SUBROUTINE TO ENTER ACCOUNT IDENTIFICATION DATA - USED BY FILE CREATE, ADD & CHANGE RUNS
- 4245 REM ----------------------------------------------------------------------------------------------------------
- 4250 IF REC% <> 1 THEN GOTO 4275
- 4255 LSET B5$ = "LAST UPDATED ON " + DATE$
- 4260 LSET B6$ = "TIME OF UPDATE " + TIME$
- 4265 LSET F4$ = "1"
- 4270 GOTO 4630
- 4275 CLS
- 4280 IF TITLE$<>"OF CREATION RUN" THEN GOTO 4400
- 4285 REM ---------THE FOLLOWING SECTION IS USED ON FILE CREATION RUN ONLY-------------------------------------------
- 4290 PRINT " You may enter a higher Record Number"
- 4295 PRINT " to reserve a block of records for"
- 4300 PRINT " later insertion of NEW ACCOUNTS in"
- 4305 PRINT " this record sequence."
- 4310 PRINT " OR"
- 4315 PRINT " Press ENTER KEY ONLY to continue"
- 4320 PRINT " with this Record Number ===> ";REC%
- 4325 COLOR 0,7: LOCATE ,32: Y = CSRLIN: X = POS(0)
- 4330 FIELDMAX% = 3: NUM.ONLY% = TRUE%: DEC.MINUS% = FALSE%: GOSUB 370
- 4335 IF DATU$ = "" THEN GOTO 4405
- 4340 KINT2% = VAL(DATU$)
- 4345 IF KINT2% > REC% THEN GOTO 4360
- 4350 COLOR 31,0: PRINT " You must enter a Record Number"
- 4355 PRINT " greater than ";REC%: GOTO 4325
- 4360 GOSUB 320 'PUT INITIALIZED RECORD TO ACCOUNTS FILE
- 4365 REC% = REC% + 1
- 4370 GOSUB 4115
- 4375 IF REC% = M10% THEN LSET B16$ = MKI$(REC% + M11% + 1) ELSE LSET B16$ = MKI$(REC% + 1)
- 4380 IF REC% > M10% THEN RETURN
- 4385 IF REC% = KINT2% THEN GOTO 4400
- 4390 GOTO 4360
- 4395 REM -------THE ABOVE SECTION IS USED ON FILE CREATION RUN ONLY------------------------------------------------
- 4400 PRINT: PRINT " This is Record Number ";REC%
- 4405 DATU$ = STR$(KINT%)
- 4410 I = LEN(DATU$)
- 4415 IF I = 2 THEN DATU$ = "000" + RIGHT$(DATU$,1): GOTO 4435
- 4420 IF I = 3 THEN DATU$ = "00" + RIGHT$(DATU$,2): GOTO 4435
- 4425 IF I = 4 THEN DATU$ = "0" + RIGHT$(DATU$,3): GOTO 4435
- 4430 IF I = 5 THEN DATU$ = RIGHT$(DATU$,4)
- 4435 PRINT: PRINT " The last record's Account No.: ";DATU$
- 4440 PRINT " To use the same Account No. on this"
- 4445 PRINT " record, press ENTER KEY ONLY, else"
- 4450 PRINT " enter the NEW Account Number. ";: Y = CSRLIN: X = POS(0)
- 4455 FIELDMAX% = 4: NUM.ONLY% = TRUE%: DEC.MINUS% = FALSE%: GOSUB 370
- 4460 IF DATU$ = "" THEN DATU$ = MKI$(KINT%): GOTO 4480
- 4465 IF LEN(DATU$)<>4 THEN COLOR 31,0: PRINT " Account is a 4 digit code, retry": COLOR 7,0: PRINT: GOTO 4440
- 4470 KINT% = VAL(DATU$)
- 4475 IF KINT% = 0 THEN COLOR 31,0: PRINT NOTNUM$: COLOR 7,0: GOTO 4445
- 4480 LSET B1$ = MKI$(KINT%)
- 4485 IF ASC(F4$) = 255 THEN GOTO 4535
- 4490 PRINT: PRINT " This Account's Major Description is:"
- 4495 PRINT: PRINT " ";B5$
- 4500 PRINT: PRINT " Enter a NEW Major Description or"
- 4505 PRINT " Press ENTER KEY ONLY to leave as is."
- 4510 Y = CSRLIN: X = POS(0)
- 4515 X = X + 3 'ADJUST CURSOR COLUMN
- 4520 FIELDMAX% = 30: NUM.ONLY% = FALSE%: GOSUB 370
- 4525 IF DATU$ = "" THEN GOTO 4565
- 4530 GOTO 4560
- 4535 PRINT: PRINT " Enter Major Description"
- 4540 Y = CSRLIN: X = POS(0)
- 4545 X = X + 3: 'ADJUST CURSOR COLUMN
- 4550 FIELDMAX% = 30: NUM.ONLY% = FALSE%: GOSUB 370
- 4555 IF DATU$ = "" THEN GOTO 4535
- 4560 LSET B5$ = DATU$
- 4565 IF ASC(F4$) = 255 THEN GOTO 4595
- 4570 PRINT: PRINT " Supplemental Description is:"
- 4575 PRINT: PRINT " ";B6$
- 4580 PRINT: PRINT " Enter a NEW Suppl. Description or"
- 4585 PRINT " Press ENTER KEY ONLY to leave as is."
- 4590 GOTO 4600
- 4595 PRINT: PRINT " Enter Supplemental Description"
- 4600 Y = CSRLIN: X = POS(0)
- 4605 X = X + 3 'ADJUST CURSOR COLUMN
- 4610 FIELDMAX% = 30: NUM.ONLY% = FALSE%: GOSUB 370
- 4615 IF DATU$ = "" THEN GOTO 4625
- 4620 LSET B6$ = DATU$
- 4625 LSET F4$ = "1"
- 4630 RETURN
- 4635 REM ----------------------END OF SUBROUTINE TO ENTER ACCOUNT IDENTIFICATION-----------------------------------
- 4640 GOSUB 320 'PUT INITIALIZED RECORD TO ACCOUNTS FILE
- 4645 NEXT REC%
- 4650 REM -------------------------------END OF FOR.....NEXT LOOP OF FILE CREATION RUN-----------------------------------
- 4655 CLS
- 4660 LOCATE 12,1
- 4665 PRINT " ACCOUNTS.REC diskette file created"
- 4670 PRINT " Audit listing is now printing"
- 4675 PAGENO% = 0
- 4680 LINECT% = 0
- 4685 FOR REC% = 1 TO (M10% + M11%)
- 4690 GOSUB 310 'GET ACCOUNTS FILE RECORD
- 4695 IF ASC(F4$) = 255 THEN GOTO 4750
- 4700 IF PAGENO% = 0 THEN GOSUB 360
- 4705 IF LINECT% > 58 THEN GOSUB 360
- 4710 LACTM% = CVI(B1$)
- 4715 LACTS% = CVI(B2$)
- 4720 LPRINT USING "####";LACTM%;
- 4725 LPRINT USING " ###";LACTS%;
- 4730 LPRINT TAB(19);B5$
- 4735 LPRINT TAB(19);B6$;TAB(50);"_______I________I__________I____I___I___________I_________I___________I_________"
- 4740 LPRINT
- 4745 LINECT% = LINECT% + 3
- 4750 NEXT REC%
- 4835 CLOSE: GOTO 280 'RETURN TO MAIN MENU
- 4840 REM **************************************************************************************************************
- 4845 REM DISPLAY ACCOUNTS FILE MAINTENANCE MENU JOB CHOICES
- 4850 REM **************************************************************************************************************
- 4855 CLS
- 4860 PRINT " ACCOUNTS FILE CREATE/MAINTAIN CHOICES"
- 4865 PRINT
- 4870 PRINT " 1 Add a NEW Account Number"
- 4875 PRINT " 2 Change an Account's Data"
- 4880 PRINT " 3 Delete an Account Number"
- 4885 PRINT
- 4886 PRINT
- 4887 PRINT " 7 Create ACCOUNTS.REC File"
- 4888 PRINT
- 4890 PRINT " 9 Return to Main Menu"
- 4895 PRINT: COLOR 0,7: PRINT " Enter Maintenance Choice Number. ";: Y = CSRLIN: X = POS(0)
- 4900 FIELDMAX% = 1: NUM.ONLY% = TRUE%: DEC.MINUS% = FALSE%: GOSUB 370
- 4905 IF DATU$="1" THEN GOTO 4950
- 4910 IF DATU$="2" THEN GOTO 6155
- 4915 IF DATU$="3" THEN GOTO 6330
- 4916 IF DATU$="7" THEN GOTO 4050
- 4920 IF DATU$="9" THEN CLOSE: GOTO 280
- 4925 COLOR 31,0: PRINT " Valid codes are 1,2,3,7,9. Try again";
- 4930 GOTO 4895
- 4935 REM **************************************************************************************************************
- 4940 REM SUBROUTINE TO ADD A NEW ACCOUNTS FILE RECORD
- 4945 REM **************************************************************************************************************
- 4950 GOSUB 330 'UPDATE ACCOUNTS FILE CONTROL RECORD
- 4955 PAGENO% = 0
- 4960 LINECT% = 0
- 4965 TITLE$ = "OF ADDITIONS"
- 4970 GOSUB 360 'PRINT HEADING LINES FOR AUDIT LISTING
- 4975 ACTION$ = SPACE$(18)
- 4980 GOSUB 350 'PRINT THE FILE CONTROL RECORD
- 4985 CLS
- 4990 PRINT " Enter NEW ACCOUNT'S Record Number or"
- 4995 PRINT " Press ENTER KEY ONLY if done.";
- 5000 Y = CSRLIN: X = POS(0)
- 5005 FIELDMAX% = 3: NUM.ONLY% = TRUE%: DEC.MINUS% = FALSE%: GOSUB 370
- 5010 REC% = VAL(DATU$)
- 5015 IF REC% = 0 THEN GOTO 4855
- 5020 IF REC% < (M10% + M11% + 1) THEN GOTO 5050
- 5025 PRINT " Record Number range is 1 to";
- 5030 KINT% = M10% + M11%
- 5035 PRINT USING " ####";KINT%
- 5040 COLOR 31,0: PRINT " Enter a valid Record Number";
- 5045 GOTO 5000
- 5050 GOSUB 310 'GET ACCOUNTS FILE RECORD
- 5055 IF ASC(F4$) = 255 THEN GOTO 5090
- 5060 KINT% = CVI(B1$)
- 5065 COLOR 0,7: PRINT " This record is in use by ACCOUNT"
- 5070 PRINT " ";KINT%;" ";B5$
- 5075 PRINT " See Audit Listing for an available"
- 5080 PRINT " Record Number & enter it.";: COLOR 7,0
- 5085 GOTO 5000
- 5090 KINT% = 0 'INITIALIZE TO ZERO
- 5095 GOSUB 4250 'ENTER ACCOUNT DESCRIPTIONS
- 5100 REM ------------ENTRY STATEMENT FOR 'ACCOUNT FILE CHANGES' SUBROUTINE---------------------------------------------
- 5105 CLS
- 5110 KINT% = CVI(B1$)
- 5115 PRINT " This is Account No.: ";
- 5120 DATU$ = STR$(KINT%)
- 5125 I = LEN(DATU$)
- 5130 IF I = 2 THEN DATU$ = "000" + RIGHT$(DATU$,1): GOTO 5155
- 5135 IF I = 3 THEN DATU$ = "00" + RIGHT$(DATU$,2): GOTO 5155
- 5140 IF I = 4 THEN DATU$ = "0" + RIGHT$(DATU$,3): GOTO 5155
- 5145 IF I = 5 THEN DATU$ = RIGHT$(DATU$,4)
- 5155 PRINT DATU$;
- 5160 PRINT USING " ####";REC%
- 5165 PRINT: PRINT " ";B5$: PRINT " ";B6$
- 5170 IF (KINT% >= 300) AND (KINT% < 1000) THEN GOTO 5260 'NOT CASH OR EQUIVALENT ASSET ACCOUNTS
- 5175 IF (KINT% >= 2000) AND (KINT% < 4000) THEN GOTO 5260 'INCOME ACCOUNTS & NETWORTH ACCOUNTS
- 5180 PRINT: PRINT " Enter PAMCHECK Payee Code and"
- 5185 PRINT " Payee Rec. No. which references this"
- 5190 PRINT " Account record, if applicable."
- 5195 PRINT
- 5200 PRINT " PAMCHECK Payee Code is: ";B3$
- 5205 COLOR 0,7: PRINT " Enter four periods to remove code or": PRINT " Enter change, if any...";: Y = CSRLIN: X = POS(0)
- 5210 FIELDMAX% = 4: NUM.ONLY% = TRUE%: DEC.MINUS% = TRUE%: GOSUB 370
- 5215 IF DATU$ = "...." THEN LSET B3$ = " ": GOTO 5225
- 5220 IF DATU$<>"" THEN LSET B3$ = DATU$
- 5225 KINT% = CVI(B4$)
- 5230 PRINT: PRINT: PRINT USING " PAMCHECK Payee Rec. No.: ###";KINT%
- 5235 COLOR 0,7: PRINT " Enter change, if any....";: Y = CSRLIN: X = POS(0)
- 5240 FIELDMAX% = 3: NUM.ONLY% = TRUE%: DEC.MINUS% = FALSE%: GOSUB 370
- 5245 IF DATU$ = "" THEN GOTO 5260
- 5250 KINT% = VAL(DATU$)
- 5255 LSET B4$ = MKI$(KINT%)
- 5260 CLS
- 5265 KINT% = CVI(B1$)
- 5270 PRINT " This is Account No.: ";
- 5275 DATU$ = STR$(KINT%)
- 5280 I = LEN(DATU$)
- 5285 IF I = 2 THEN DATU$ = "000" + RIGHT$(DATU$,1): GOTO 5305
- 5290 IF I = 3 THEN DATU$ = "00" + RIGHT$(DATU$,2): GOTO 5305
- 5295 IF I = 4 THEN DATU$ = "0" + RIGHT$(DATU$,3): GOTO 5305
- 5300 IF I = 5 THEN DATU$ = RIGHT$(DATU$,4)
- 5305 PRINT DATU$;
- 5310 PRINT USING " ####";REC%
- 5315 PRINT: PRINT SPC(6);B5$: PRINT SPC(6);B6$
- 5320 PRINT
- 5325 PRINT " You may skip to the data field you"
- 5330 PRINT " wish to add/change by entering the"
- 5335 PRINT " number code below, or enter"
- 5340 PRINT " the letter code instead if adding or"
- 5345 PRINT " changing THIS DATA FIELD ONLY."
- 5350 PRINT: PRINT " 1 or A = Units to 3 decimals"
- 5355 PRINT " 2 or B = Asset/Liability Origin Date"
- 5360 PRINT " 3 or C = Cost of Asset/Liability"
- 5365 PRINT " 4 or D = Asset Mos. Life Expectancy"
- 5370 PRINT " 5 or E = Deprec'tn/Current Value Code"
- 5375 PRINT " 6 or F = Cumulative Depr./Appr. Amt."
- 5380 PRINT " 7 or G = Debit Amount"
- 5385 PRINT " 8 or H = Credit Amount"
- 5390 PRINT " 9 or I = Salvage or Budget Amount"
- 5395 PRINT " X = Exit. No Field Change/Add"
- 5400 PRINT: COLOR 0,7: PRINT " Enter Code...";: Y = CSRLIN: X = POS(0)
- 5405 FIELDMAX% = 1: NUM.ONLY% = FALSE%: GOSUB 370
- 5410 B$ = DATU$
- 5415 IF B$ = "X" OR B$ = "x" THEN GOTO 5945 'EXIT, NO FIELD CHANGES OR ADDS
- 5420 IF B$ < "1" OR B$ > "I" THEN GOTO 5435
- 5425 IF B$ >= "A" THEN C$ = CHR$(ASC(B$) - 16): KODE = VAL(C$) ELSE KODE = VAL(B$)
- 5430 IF KODE > 0 AND KODE < 10 THEN GOTO 5440
- 5435 COLOR 31,0: PRINT " Invalid code entered. Retry": GOTO 5400
- 5440 ON KODE GOTO 5450,5490,5530,5590,5635,5710,5765,5820,5885
- 5445 GOTO 5400
- 5450 KSP! = CVS(B7$)
- 5455 GOSUB 6555
- 5460 PRINT USING " Units to 3 decimals: #####.###";KSP!
- 5465 COLOR 0,7: PRINT " Enter change, if any...";: Y = CSRLIN: X = POS(0)
- 5470 FIELDMAX% = 9: NUM.ONLY% = TRUE%: DEC.MINUS% = TRUE%: GOSUB 370
- 5475 IF DATU$ = "" THEN GOTO 5490
- 5480 KSP! = VAL(DATU$)
- 5485 LSET B7$ = MKS$(KSP!)
- 5490 IF B$ = "A" OR B$ = "a" THEN GOTO 5945
- 5495 GOSUB 6555
- 5500 PRINT " Asset/Liability Origin Date ";B8$
- 5505 COLOR 0,7: PRINT " Enter change, if any....";: Y = CSRLIN: X = POS(0)
- 5510 FIELDMAX% = 8: NUM.ONLY% = TRUE%: DEC.MINUS% = TRUE%: GOSUB 370
- 5515 IF DATU$ = "" THEN GOTO 5525
- 5520 LSET B8$ = DATU$
- 5525 IF B$ = "B" OR B$ = "b" THEN GOTO 5945
- 5530 KDP# = CVD(B9$)
- 5535 GOSUB 6555
- 5540 PRINT " Cost of Asset/Liability:";
- 5545 PRINT USING " ######,.## ";KDP#
- 5550 COLOR 0,7: PRINT " Enter change, if any.....";: Y = CSRLIN: X = POS(0)
- 5555 FIELDMAX% = 9: NUM.ONLY% = TRUE%: DEC.MINUS% = TRUE%: GOSUB 370
- 5560 IF DATU$ = "" THEN GOTO 5575
- 5565 KDP# = VAL(DATU$)
- 5570 LSET B9$ = MKD$(KDP#)
- 5575 IF B$ = "C" OR B$ = "c" THEN GOTO 5945
- 5580 KINT% = CVI(B1$)
- 5585 IF (KINT% >=1000) THEN GOTO 5765 'NEXT 3 FIELDS ARE FOR ASSETS ONLY
- 5590 GOSUB 6555
- 5595 KINT% = CVI(B10$)
- 5600 PRINT USING " Asset's mos. life expectancy: ###";KINT%
- 5605 COLOR 0,7: PRINT " Enter change, if any.........";: Y = CSRLIN: X = POS(0)
- 5610 FIELDMAX% = 3: NUM.ONLY% = TRUE%: DEC.MINUS% = TRUE%: GOSUB 370
- 5615 IF DATU$ = "" THEN GOTO 5630
- 5620 KINT% = VAL(DATU$)
- 5625 LSET B10$ = MKI$(KINT%)
- 5630 IF B$ = "D" OR B$ = "d" THEN GOTO 5945
- 5635 GOSUB 6555
- 5640 PRINT " Depreciation code or"
- 5645 PRINT " Current Value code is: ";B11$
- 5650 COLOR 0,7: PRINT " Enter change, if any....";: Y = CSRLIN: X = POS(0)
- 5655 PRINT "[-]": COLOR 7,0
- 5660 LOCATE Y,X+1
- 5665 C$ = INKEY$: IF C$ = "" THEN GOTO 5665
- 5670 IF C$ = CHR$(13) THEN GOTO 5705
- 5675 COLOR 0,7: PRINT C$: COLOR 7,0
- 5680 IF C$ = SPACE$(1) THEN GOTO 5700
- 5685 KINT% = VAL(C$)
- 5690 IF (KINT%>0) AND (KINT%<10) THEN GOTO 5700
- 5695 COLOR 31,0: PRINT " Not valid Depr./Cur.Value code, retry";: GOTO 5665
- 5700 LSET B11$ = C$
- 5705 IF B$ = "E" OR B$ = "e" THEN GOTO 5945
- 5710 KDP# = CVD(B12$)
- 5715 GOSUB 6555
- 5720 PRINT USING " Cumulative Depr./Appr. ######,.##-";KDP#
- 5725 COLOR 0,7: PRINT " Enter change, if any.....";: Y = CSRLIN: X = POS(0)
- 5730 FIELDMAX% = 10: NUM.ONLY% = TRUE%: DEC.MINUS% = TRUE%: GOSUB 370
- 5735 IF DATU$ = "" THEN GOTO 5760
- 5740 KDP# = VAL(DATU$)
- 5745 LOCATE Y,X+1: COLOR 0,7
- 5750 PRINT USING "#####,.##-";KDP#: COLOR 7,0
- 5755 LSET B12$ = MKD$(KDP#)
- 5760 IF B$ = "F" OR B$ = "f" THEN GOTO 5945
- 5765 KDP# = CVD(B13$)
- 5770 GOSUB 6555
- 5775 PRINT USING " Debit amount is: ######,.##-";KDP#
- 5780 COLOR 0,7: PRINT " Enter change, if any..";: Y = CSRLIN: X = POS(0)
- 5785 FIELDMAX% = 10: NUM.ONLY% = TRUE%: DEC.MINUS% = TRUE%: GOSUB 370
- 5790 IF DATU$ = "" THEN GOTO 5815
- 5795 KDP# = VAL(DATU$)
- 5800 LOCATE Y,X+1: COLOR 0,7
- 5805 PRINT USING "#####,.##-";KDP#: COLOR 7,0
- 5810 LSET B13$ = MKD$(KDP#)
- 5815 IF B$ = "G" OR B$ = "g" THEN GOTO 5945
- 5820 KDP# = CVD(B14$)
- 5825 GOSUB 6555
- 5830 PRINT USING " Credit amount is: ######,.##-";KDP#
- 5835 COLOR 0,7: PRINT " Enter change, if any..";: Y = CSRLIN: X = POS(0)
- 5840 FIELDMAX% = 10: NUM.ONLY% = TRUE%: DEC.MINUS% = TRUE%: GOSUB 370
- 5845 IF DATU$ = "" THEN GOTO 5870
- 5850 KDP# = VAL(DATU$)
- 5855 LOCATE Y,X+1: COLOR 0,7
- 5860 PRINT USING "#####,.##-";KDP#: COLOR 7,0
- 5865 LSET B14$ = MKD$(KDP#)
- 5870 KINT% = CVI(B1$)
- 5875 IF KINT% > 999 AND KINT% < 3000 THEN GOTO 5945 'LIABILITY AND NET WORTH ACCOUNTS
- 5880 IF B$ = "H" OR B$ = "h" THEN GOTO 5945
- 5885 KDP# = CVD(B15$)
- 5890 GOSUB 6555
- 5895 PRINT " Salvage Value for Fixed Assets or"
- 5900 PRINT " Annual Budget for Expenses/Income:"
- 5905 PRINT USING " Amount is: ######,.##";KDP#
- 5910 COLOR 0,7: PRINT " Enter change, if any..";: Y = CSRLIN: X = POS(0)
- 5915 FIELDMAX% = 10: NUM.ONLY% = TRUE%: DEC.MINUS% = TRUE%: GOSUB 370
- 5920 IF DATU$ = "" THEN GOTO 5945
- 5925 KDP# = VAL(DATU$)
- 5930 LOCATE Y,X+1: COLOR 0,7
- 5935 PRINT USING "#####,.##-";KDP#: COLOR 7,0
- 5940 LSET B15$ = MKD$(KDP#)
- 5945 GOSUB 320 'WRITE THE RECORD TO ACCOUNTS FILE
- 5950 GOSUB 350 'PRINT THE ACCOUNTS RECORD JUST WRITTEN TO ACCOUNTS FILE
- 5955 IF LINECT% > 58 THEN GOSUB 360 'TEST FOR FULL PAGE
- 5960 REM ----------------RETURN TO 'ACCOUNTS FILE CHANGES' SUBROUTINE---------------------------------------------------
- 5965 IF ACTION$ = SPACE$(18) THEN GOTO 6000 'ONLY NEW ACCOUNT ADDITIONS
- 5970 RETURN 'ONLY CHANGES TO ACCOUNTS REACH THIS STATEMENT
- 5975 REM --------------------------------------------------------------------------------------------------------------
- 5980 REM If the new Account Record just added to the ACCOUNTS FILE was placed in the OVERFLOW AREA, then the sequence number
- 5985 REM chain (B16$ field) from the immediately preceding Account Record must be placed in the ADDED Account Record (B16$ field)
- 5990 REM and the Record Number of the ADDED Account Record must be placed in the preceding Account Record's chain (B16$ field)
- 5995 REM --------------------------------------------------------------------------------------------------------------
- 6000 IF REC% < (M10% + 1) THEN GOTO 6135
- 6005 CLS
- 6010 PRINT " Record Number of Account just added"
- 6015 PRINT " to ACCOUNTS FILE must be placed in"
- 6020 PRINT " the Account Record which precedes it"
- 6025 PRINT " IN SEQUENCE. Enter the preceding"
- 6030 COLOR 0,7: PRINT " Account's Record Number ===>";: Y = CSRLIN: X = POS(0)
- 6035 FIELDMAX% = 3: NUM.ONLY% = TRUE%: DEC.MINUS% = FALSE%: GOSUB 370
- 6040 IF DATU$ = "" THEN COLOR 31,0: PRINT " RETRY": GOTO 6010
- 6045 KINT% = VAL(DATU$)
- 6050 IF KINT% = 0 THEN COLOR 31,0: PRINT NOTNUM$: GOTO 6010
- 6055 IF KINT% = REC% THEN COLOR 31,0: PRINT " DO NOT ENTER added record's number": GOTO 6010
- 6060 IF (KINT% > 0) AND (KINT% < (M10% + M11% + 1)) THEN GOTO 6085
- 6065 COLOR 0,7: PRINT " Record Number range is 1 to";
- 6070 PRINT USING " ####";(M10% + M11%)
- 6075 COLOR 31,0: PRINT " Enter a valid Record Number"
- 6080 GOTO 6010
- 6085 SVADDRS% = REC%
- 6090 REC% = KINT%
- 6095 GOSUB 310 'GET PRECEDING ACCOUNT FILE RECORD
- 6100 KINT% = CVI(B16$) 'FORWARD CHAIN OF PRECEDING ACCOUNT FILE RECORD
- 6105 LSET B16$ = MKI$(SVADDRS%) 'REPLACE FORWARD CHAIN WITH NEW ACCOUNTS RECORD NUMBER
- 6110 GOSUB 320 'PUT UPDATED PRECEDING ACCOUNT FILE RECORD
- 6115 REC% = SVADDRS% 'GET THE UPDATED ACCOUNT FILE RECORD
- 6120 GOSUB 310 'TO REPLACE ITS FORWARD CHAIN WITH THE CHAIN FROM THE PRECEDING ACCOUNT FILE RECORD
- 6125 LSET B16$ = MKI$(KINT%)
- 6130 GOSUB 320 'PUT UPDATED NEW ACCOUNT FILE RECORD
- 6135 GOTO 4985 'RETURN FOR NEXT ADDITION
- 6140 REM **************************************************************************************************************
- 6145 REM SUBROUTINE TO CHANGE DATA IN THE ACCOUNTS FILE RECORDS
- 6150 REM **************************************************************************************************************
- 6155 GOSUB 330 'UPDATE ACCOUNTS FILE CONTROL RECORD
- 6160 PAGENO% = 0
- 6165 LINECT% = 0
- 6170 TITLE$ = "OF CHANGES"
- 6175 GOSUB 360 'PRINT REPORT HEADING LINES
- 6180 GOSUB 350 'PRINT THE FILE CONTROL RECORD
- 6185 CLS
- 6190 PRINT " Enter record number of Account you"
- 6195 PRINT " are changing or press ENTER KEY ONLY"
- 6200 PRINT " if there are no more changes. ";
- 6205 Y = CSRLIN: X = POS(0)
- 6210 FIELDMAX% = 3: NUM.ONLY% = TRUE%: DEC.MINUS% = FALSE%: GOSUB 370
- 6215 IF DATU$ = "" THEN GOTO 4855
- 6220 REC% = VAL(DATU$)
- 6225 IF REC% = 0 THEN PRINT NOTNUM$: GOTO 6205
- 6230 IF REC% < (M10% + M11% + 1) THEN GOTO 6260
- 6235 COLOR 0,7: PRINT " Record number range is l to";
- 6240 KINT% = M10% + M11%
- 6245 PRINT USING " ####";KINT%
- 6250 COLOR 31,0: PRINT " Enter a valid record number"
- 6255 GOTO 6205
- 6260 GOSUB 310 'GET ACCOUNT FILE RECORD
- 6265 IF ASC(F4$)<>255 THEN GOTO 6280
- 6270 COLOR 31,0: PRINT USING " Record number #### is not used.";REC%
- 6275 PRINT " Try again": GOTO 6205
- 6280 ACTION$ = "BEFORE CHANGES "
- 6285 GOSUB 350 'PRINT RECORD BEFORE CHANGES
- 6290 KINT% = CVI(B1$)
- 6295 GOSUB 4250 'ENTER ACCOUNT IDENT. DATA FIELDS
- 6300 ACTION$ = "AFTER CHANGES "
- 6305 GOSUB 5105 'ENTRY STATEMENT FOR CHANGES IN THE ADD SUBROUTINE
- 6310 GOTO 6185 'PERFORM NEXT ACCOUNT FILE CHANGE
- 6315 REM **************************************************************************************************************
- 6320 REM SUBROUTINE TO DELETE AN ACCOUNT NUMBER RECORD FROM THE ACCOUNTS FILE
- 6325 REM **************************************************************************************************************
- 6330 GOSUB 330 'UPDATE ACCOUNTS FILE CONTROL RECORD
- 6335 PAGENO% = 0
- 6340 LINECT% = 0
- 6345 TITLE$ = "OF DELETIONS"
- 6350 GOSUB 360 'PRINT REPORT HEADING LINES
- 6355 GOSUB 350 'PRINT FILE CONTROL RECORD
- 6360 COLOR 7,0: CLS
- 6365 PRINT " Enter record number of ACCOUNT you"
- 6370 PRINT " are deleting or press ENTER KEY ONLY"
- 6375 PRINT " when done. ";: Y = CSRLIN: X = POS(0)
- 6380 FIELDMAX% = 3: NUM.ONLY% = TRUE%: DEC.MINUS% = FALSE%: GOSUB 370
- 6385 IF DATU$ = "" THEN GOTO 4855
- 6390 REC% = VAL(DATU$)
- 6395 IF REC% = 0 THEN COLOR 31,0: PRINT NOTNUM$: GOTO 6380
- 6400 IF REC% < (M10% + M11% + 1) THEN GOTO 6430
- 6405 COLOR 0,7: PRINT " Record number range is 1 to";
- 6410 KINT% = M10% + M11%
- 6415 PRINT USING " ####";KINT%
- 6420 COLOR 31,0: PRINT " Enter a valid record number"
- 6425 GOTO 6380
- 6430 GOSUB 310 'GET ACCOUNT FILE RECORD
- 6435 ACTION$ = "ACCOUNT DELETED "
- 6440 GOSUB 350 'PRINT RECORD BEFORE DELETION
- 6445 GOSUB 4115 'INITIALIZE DELETED RECORD TO BLANKS & ZEROS
- 6450 GOSUB 320 'PUT INITIALIZED RECORD TO ACCOUNTS FILE
- 6455 REM ---------------------------------------------------------------------------------------------------------------
- 6460 REM If an overflow area record is being deleted, then search the ACCOUNTS.REC File for the record which chains to
- 6465 REM this overflow area deleted record and place the chaining record field (B16$) from the deleted record in the
- 6470 REM (B16$) field of this record.
- 6475 REM ---------------------------------------------------------------------------------------------------------------
- 6480 IF REC% < (M10% + 1) THEN GOTO 6360 'NOT AN OVERFLOW AREA RECORD
- 6485 SVADDRS% = REC%: CHANE% = CVI(B16$)
- 6490 FOR REC% = 1 TO (M10% + M11%)
- 6495 GOSUB 310 'GET ACCOUNTS RECORD
- 6500 KINT% = CVI(B16$)
- 6505 IF SVADDRS% = KINT% THEN GOTO 6535
- 6510 NEXT REC%
- 6515 COLOR 31,0: PRINT " Next Record Chaining Field in ERROR."
- 6520 PRINT " Use PAM Reference Manual Chain Field"
- 6525 PRINT " Correction Routine which must be run.": COLOR 7,0
- 6530 C$ = "": GOTO 380 'JOB CANCELLED
- 6535 LSET B16$ = MKI$(CHANE%)
- 6540 GOSUB 320 'PUT ACCOUNTS RECORD
- 6545 GOTO 6360 'PERFORM NEXT ACCOUNTS FILE DELETION
- 6550 REM ------------------------------SUBROUTINE TO CLEAR SCREEN LINES 16-20------------------------------------------
- 6555 CLS
- 6560 KINT% = CVI(B1$)
- 6565 PRINT " This is Account No.: ";
- 6570 DATU$ = STR$(KINT%)
- 6575 I = LEN(DATU$)
- 6580 IF I = 2 THEN DATU$ = "000" + RIGHT$(DATU$,1): GOTO 6600
- 6585 IF I = 3 THEN DATU$ = "00" + RIGHT$(DATU$,2): GOTO 6600
- 6590 IF I = 4 THEN DATU$ = "0" + RIGHT$(DATU$,3): GOTO 6600
- 6595 IF I = 5 THEN DATU$ = RIGHT$(DATU$,4)
- 6600 PRINT DATU$;
- 6605 PRINT USING " ####";REC%
- 6610 PRINT: PRINT " ";B5$: PRINT " ";B6$
- 6615 PRINT: PRINT
- 6620 PRINT " For Account field displayed below, "
- 6625 PRINT " enter new data then press ENTER KEY "
- 6630 PRINT " or press ENTER KEY ONLY if unchanged."
- 6635 PRINT: PRINT
- 6640 RETURN
- 6645 REM ---------------------------------------------------------------------------------------------------------------
- 9000 GOTO 9000 'CHAIN MERGE AREA LAST STATEMENT